//namespace ContosoUniversity.DAL
//{
//    using System.Linq;
//    using NRepository.Core.Query;
//    using NRepository.EntityFramework;

//    public class GetEntitesUsingSqlStrategy<TEntity> : QueryStrategy where TEntity : class
//    {
//        public GetEntitesUsingSqlStrategy(IQueryRepository queryRepository, string sql, params object[] args)
//        {
//            QueryRepository = queryRepository;
//            Sql = sql;
//            Args = args;
//        }

//        public IQueryRepository QueryRepository { get; }

//        public string Sql { get; }

//        public object[] Args { get; }

//        public override IQueryable<T> GetQueryableEntities<T>(object additionalQueryData)
//        {
//            var entities = QueryRepository.ExecuteSqlQuery<TEntity>(Sql, Args);
//            return (IQueryable<T>)entities.AsQueryable();
//        }
//    }
//}
